package com.wuyou.hard;

import java.util.Arrays;

/**
 * 902. 最大为 N 的数字组合
 */
public class AtMostNGivenDigitSet {


    /*
    给定一个按 非递减顺序 排列的数字数组 digits 。你可以用任意次数 digits[i] 来写的数字。例如，如果 digits = ['1','3','5']，我们可以写数字，如 '13', '551', 和 '1351315'。
返回 可以生成的小于或等于给定整数 n 的正整数的个数 。
     */
    public int solution_1(String[] digits, int n) {
        int length = String.valueOf(n).length();

        int res = 0;
        for (int i = 0; i < digits.length; i++) {
            if (Integer.parseInt(digits[i]) < n) {
                res++;
            }
        }
        Arrays.sort(digits);
        int index = 0;
        for (int i = 2; i <= length; i++) {
            StringBuilder temp = new StringBuilder(digits[index]);
            for (int j = 0; j < digits[j].length(); j++) {
                temp.append(digits[j]);
            }

        }

        return res;
    }
}
